Block-based, motion compensated video compression video compression also called video encoding—is known in which each picture of a time sequence of pictures is partitioned into blocks. Examples of block-based motion compensated video compression include such transform coding methods as MPEG-1, MPEG-2, ITU-T H.261, ITU-T H.2631, ITU-T H.264/AVC, VC-1, and the Chinese AVS standards. In block-oriented motion-compensated video encoding, the content of a block is predicted by specifying a motion vector to a temporally nearby reference frame. The difference from the reference image is called the residual, and is then encoded and transmitted with the motion vector. With transform-based compression, blocks are compressed by a transform, the resulting transform coefficients are ordered along a path of increasing spatial frequency, and the transform coefficients are quantized. Different types of frames may be quantized at different levels of coarseness or fineness, defined, for example, by a quantization parameter usually denoted by QP. Furthermore, there may be several sized blocks, e.g., the chroma information in a picture may be partitioned into smaller blocks than the luma information, and motion compensation may be carried out on larger blocks than some of the other processes. By a macroblock is meant the largest sized block in the partitioning, and depending on the compression method, each macroblock may be further partitioned into smaller blocks.
Assume that motion prediction is carried out on macroblocks that may further be partitioned into blocks of image data. When the input image blocks of a time sequence are identical or almost identical, the motion vector is zero and the transmitted residuals of each of the blocks, i.e., each difference images from the reference image is close to zero as measured, for example, by a measure of the transform coefficients of the block after quantization. This type of macroblock is called “skipped” meaning that only a coding to indicate that the block is coded as skipped is used to represent the block in the compressed bitstream.
The inventors have found that distortion in a macroblock can be long-lived when the image content is created with a relatively coarse quantization, and then successive macroblocks are skipped. Skipped macroblocks may occur in situations where the background is not moving, e.g., in a videoconferencing scene with a constant background and some humans in front. With skipped macroblocks, while each skipped macroblock is an exact copy of the pixels in the reference frame, it may be that the reference frame is not an exact match of the input frame. In such a situation, a video encoder may produce a stream of images with many skipped macroblocks, but with an image quality not as good as it could be. This situation can arise, for example, when the amount of quantization varies from frame to frame or from block to block and can occur, for example, in an encoding system producing a constant-bit-rate (CBR) stream.